/**
 * fileName:  AccountStore.java
 * author:  Lei
 * Company:  Cloudland Studio
 * Createdate:  2014-2-22 下午3:59:41
 *
 * All rights Reserved, Designed By cloudland Copyright(C) 2010-2020
 *   
 * Modification  History:
 *     Date           Author        Version        
 * -------------------------------------------
 * 2014-2-22          Lei            1.0        
 *
 * Why & What is modified:
 * 1.0: 文件创建
 */
package org.cloudland.commercial.uphold.handler;

 /**
 * <pre> 
 * 账号维护接口。
 * 提供账号接口的创建和账号查询的相关方法。
 * </pre>
 * @ClassName  AccountStore
 * @author  Lei
 * @version  %I%, %G%
 * @see  
 * @since   JDK1.6
 *
 */
public interface AccountStore {
	
	/**
	 * <pre>
	 * 新建一个用户账号，用于保存账号信息。
	 * </pre>
	 *
	 * @return  用户账号
	 */
	Account createAccount();
	
	/**
	 * <pre>
	 * 根据账号编号，获取用户账号对象
	 * </pre>
	 *
	 * @param accountId 账号编号
	 * @return  账号对象
	 */
	Account findById(String accountId);
	
	/**
	 * <pre>
	 * 根据账号名称，获取用户账号对象
	 * </pre>
	 *
	 * @param accountName 账号名称
	 * @return  账号对象
	 */
	Account findByName(String accountName);
	
	/**
	 * <pre>
	 * 获取全部账号
	 * </pre>
	 *
	 * @return  账号对象集合
	 */
	Account[] findAll();
	
	/**
	 * <pre>
	 * 删除指定账号编号的账号信息。
	 * </pre>
	 *
	 * @param accountId 账号编号
	 * @return  true 删除成功
	 */
	Boolean remove(String accountId);

}
